/*
 * 
 *  ${model.model}Dao 创建于 ${date} 版权归作者和作者当前组织所有
 */
package ${model.packageName}.dao;

import java.util.List;
import java.util.Map;
import com.mmk.gene.dao.SpringDataQueryDao;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import ${model.packageName}.condition.${model.model}Condition;
import ${model.packageName}.model.${model.model};
/**
* ${model.model}Dao:${model.comment} 数据持久层接口
* @author ${model.author}
* @version 1.0
* Modified By
* Modified Date
*/
public interface ${model.model}Dao extends SpringDataQueryDao<${model.model}>{
    
    /**
     * 分页查询相关信息，根据传入的bean类对象和分页对象page取得查询结果集List
     * @param ${model.modelL} 查询类
     * @param pageable 传入的分页对象
     * @return 符合条件的查询结果集
     * @author ${model.author}
     * 
     * 
     */
    Page<${model.model}> list(${model.model}Condition ${model.modelL},Pageable pageable);
    /**
     * 不分页查询相关信息，根据传入的model类对象取得查询结果集List
     * @param ${model.modelL} 查询类
     * @return 符合条件的查询结果集
     * @author ${model.author}
     * 
     */
    List<${model.model}> list(${model.model}Condition ${model.modelL});
    /**
     * 使用sql查询，并以map和分页的形式进行返回数据结果
     * @param ${model.modelL} ${model.model}类
     * @param pageable 传入的分页对象
     * @return 符合条件的查询结果集
     * @author ${model.author}
     * 
     * 
     */
    Page<Map<String,Object>> listBySql(${model.model}Condition ${model.modelL},Pageable pageable);
    /**
     * 根据给定的字段和属性值，获得符合条件的第一个结果
     * @param field ${model.model} 中的某个字段
     * @param value 字段对应的值
     * @return 返回符合条件的结果，如果没有返回null
     * @author ${model.author}
     * 
     * 
     */
    ${model.model} findBy(String field,Object value);
    
    /**
     * 根据给定的字段和属性值，获得符合条件的所有结果
     * @param field ${model.model} 中的某个字段
     * @param value 字段对应的值
     * @return 返回符合条件的所有结果
     * @author ${model.author}
     * 
     * 
     */
    List<${model.model}> findAllBy(String field,Object value);
    
    

}